home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
batch
/
get25
/
get25new.doc
< prev
next >
Wrap
Text File
|
1991-12-01
|
17KB
|
366 lines
GET25NEW.DOC - New features in GET.EXE - Copyright 1991 Bob Stephan
This file summarizes the new and improved features in the various
releases of GET Version 2 through Release 2.5. If you have been using
an older version of GET, you should read this file to find out what
has been changed, and what has been added. Any items of interest
mentioned here are fully described in GET.DOC. This is merely a
brief overview.
Release 2.5:
Release 2.5 is a "bug fix" release. The /Wdiv feature for GET F to
divide a file size by a given divisor that was introduced in Version
2.4 did not work as advertised. This is fixed in 2.5. Apologies
are extended for any inconvenience this may have caused.
Sometimes it is desirable to be able to get the exact size of a
small file. This capability has been added to the GET F file size
function in Version 2.5. It makes use of the /A switch, which can
be thought of mnemonically as meaning All. The syntax is:
GET F[E] filespec [/A] [/Wdiv] [/X]
If /A is specified, All the bytes in the file size will be reported
in the Environment for files up to 655,350 bytes. If over that size,
the value will have an asterisk as the last character indicating that
the size is not valid, but that it is larger than 655,350 bytes. If
the file is 255 bytes or less, the full size will be in the ErrorLevel.
The /Wdiv switch can be used to specify a divisor for larger files so
that the resulting ErrorLevel will be less than 255. The divisor
does not affect the Environment variable.
EXAMPLE:
1. Suppose you have a file of exactly 166,816 bytes. You could see
the following results.
GET F filespec
The Environment is: 163
The ErrorLevel is: 163
GET F filespec /A
The Environment is: 166816
The ErrorLevel is: 255
GET F filespec /A /W1000
The Environment is: 166816
The ErrorLevel is: 166
GET F filespec /A /W1000 /X
The Environment is: 28BA0
The ErrorLevel is: 166
------------------------------------------------------------------
Also, a page back feature has been added to the help screen.
Displaying the help screen by simply entering GET will now pause at
the end of the second screen with the message
Press PgUp to repeat the first screen - Esc, CR, or space bar to exit
Pressing PgUp at this point will start the help screen display over
again. Pressing CR (Enter or Return on the keyboard) will exit and
clear the screen giving you a clear screen to work on. Pressing Esc
or the space bar will exit and leave the second help screen on the
display for reference. The pause will time out in 10 seconds and
return to the DOS prompt automatically.
A useful utility has been added to the GET package. RUN.EXE will
run any .COM or .EXE file and report the ErrorLevel it returns.
Previously many of us had a large BATch file that went something
like: IF ERRORLEVEL 255 SAY 255
IF ERRORLEVEL 254 SAY 254
...
IF ERRORLEVEL 1 SAY 1
where SAY.BAT simply echoed its argument. This was slow and
cumbersome. RUN can greatly speed up the process of testing
programs for return codes. See RUN.DOC for further details.
Finally, a different method of compressing the .EXE file is being
used. It compresses the licensed runtime version, GETRUN.EXE, to
under 4K, so GETNOT is no longer needed and will not be included
in licensed copies.
Release 2.4:
GET.EXE Release 2.4 contains only a few changes from Release 2.3.
There are no bug fixes (none have been reported in 2.3) so if you
don't need any of the new features, you can continue to use 2.3 with
confidence.
There were a very few reports of an apparent ROM BIOS incompatibility
with one or two different systems which involved the method of
displaying the prompt in 2.3. The method was changed from Version
2.2 to permit displaying the prompt in color or reverse video even
with ANSI.SYS loaded. It is now changed again to try to fix this
BIOS incompatibility that so far has appeared only rarely.
Due to the most recent method now being used in Version 2.4, the
maximum prompt length has to be limited to 79 characters if /A is
used. The "prompt" can also be used to send ANSI.SYS escape
sequences to the screen. See information on the /A switch below.
GET R for 'Rithmetic - add or subtract two numbers.
Syntax: GET R[E] [num1] [/Wnum2]
Input: One or two numbers for arithmetic
Process:GET R adds the two numbers
GET RE subtracts the second from the first
Output: Arithmetic result in Environment and ErrorLevel
If only one number is given, the other number defaults to 0.
Max number of digits for each number is 4.
Thus a character representation of a number can be converted
to a number in the ErrorLevel.
Example: A loop counter
SET COUNT=0
:LOOP
GET R %COUNT% /W1 /VCOUNT=
Echo The count is %COUNT%
IF NOT ERRORLEVEL 10 GOTO LOOP
If the result is greater than 255, the ErrorLevel is modulo 256.
256=0, 257=1, ..., 511=255, 512=0, etc.
No negative numbers are recognized. If a larger number is
subtracted from smaller, the result is the difference + 65536.
Example: GET RE 10 /W20
The ErrorLevel is 246
The Environment is 65526
SWITCHES:
/A if the /A switch is not included, the prompt will be displayed
in such a manner that ANSI sequences can be used for screen
control. This restores compatibility with Version 2.2 for
prompting and using ANSI screen control sequences. The "prompt"
will always be sent to the screen even if standard output is
redirected with DOS redirection (>). Without /A the prompt can
be as long as will fit on the DOS command or BATch line which is
limited to 128 characters total. With /A, the prompt is limited
to 79 characters.
/T TRIM switch for GET S, GET Z, and GET HE.
/TL or /T- will trim leading blanks.
/TR or /T+ will trim trailing blanks.
/V- will suppress creation of the Environment variable completely.
A side effect of /V- is that SET GET?=ON will have no effect.
Since the search of the Environment is being completely bypassed,
GET will not be able to check for the GET? variable.
Two additions to the GET F command:
/X Previously GET F always put the filesize in the Environment in
hexadecimal. Now it will be in decimal kilobytes, unless the /X
for heX switch is included in which case it will be the full
size in hex as before.
A divisor can be provided for the GET F file size command similar to
the divisors permitted for GET K and GET Q.
Syntax: GET F filespec /Wnum
NOTE: The use of GET F to test for the existence of a directory is
valid only for subdirectories, and not for any root directory.
Since DOS does not recognize the root directory as a file, commands
such as GET F \, GET F c:\, GET F c:, etc. are not valid. Also,
if there is an error (no Environment variable) and the ErrorLevel
is 15 it means that an invalid drive was specified. These items
were true in previous versions of GET, but were not described
completely in the documentation. Also, although it is a
documented procedure in MS DOS 5.0, do not use the NUL device to
check for a directory if any users might be using DR DOS 5.0. DR
DOS 5 thinks that the NUL (and other) devices exist even in
non-existent directories. It may be that a few other versions of
DOS do not support the NUL device method of checking, but GET will
work with them all.
There is a minor improvement to the GET UE command. Previously the
value placed in the Environment for the key-lock status did not
always match the value requested by the previous use of GET UE,
although the saved result gave the same result if used to restore
the keyboard locks. Now the value reported will match.
There are some internal changes to reduce executable file size, but
the runtime version could not be kept under 4K. An additional
runtime version is available that does not have the T
(moving Text) feature for those who do not use it. This version
is still under 4K. Look for GETNOT.EXE (GET NO T) on the
registered disk.
One final clarification. It has been pointed out that the documentation
for the VE (set border color) command does not clearly specify which
portions of the color table shown for /A are valid. GET VE will
take any of the 8 basic color codes 0-7. The remaining information
that can be used for /A or GET B has no meaning for GET VE.
If you have a modem, VISA and MASTERCARD registrations can be entered via
NITELOG BBS, 408-655-1096. After completing the brief sign-on registra-
tion, enter S for Script, then 3 for Script 3.
Release 2.3:
GET.EXE, Release 2.3 contains many significant changes. I have
tried to maintain compatibility with GET 2.2, but there are a couple
of changes that can cause some previous GET commands to behave
differently. In the cases where the new features duplicate
previously available features, BATch programmers should make every
effort to change over to the newer methods. When Version 3 comes
out at some future time, the older methods will be eliminated.
A compatibility warning feature has been included in GET 2.3.
See GET.DOC for full details on these features.
If you used GET for ANSI.SYS escape sequences, see the note under
the description of the /A switch.
Size has increased only slightly. The runtime version is still
under 4K as compressed.
The biggest change in the syntax of GET commands is the addition of
the use of switches to modify the commands. This provides a richer,
more flexible repertory of options for the BATch programmer. The
switches must come after all other arguments, and are indicated by
the switch character which is the forward slash "/". Switch letters
can be entered in either lower or upper case. The switches that
have been implemented in Release 2.3 are:
/B flush keyboard Buffer. May be useful to flush any type-ahead
keystrokes when asking for user input.
/C tells GET to handle Ctrl-C and Ctrl-Break instead of letting DOS do
it.
/U specifies that the string that is written to the environment is
to be forced into upper case (Caps).
/L specifies that the string is to be forced into lower case.
/M tells GET to try to put the string in the master environment
instead of the child environment.
/E specifies that keystrokes will be read from the Enhanced
keyboard.
/X specifies that extended keys will be accepted.
/Vvar= specifies a name for the Environment variable other than
GET.
/W is used to specify a number of seconds to wait for input.
/A controls the screen attribute of prompts.
/~ This is a temporary switch that is used with GET S only.
The next major enhancement is the handling of extended/enhanced
keys. For GET C and GET T you can now specify individual function
and other extended keys by using a relatively simple but effective
surrogate scheme.
Other changes and enhancements:
GET?. To help in debugging, or simply to use GET from the command
line, you can tell GET to report to the screen what it is putting
in the Environment and the ErrorLevel. If you issue the DOS
command, SET GET?=ON, either from the command line, or in a BATch
file, then GET will tell you what it is doing.
GET S. When waiting for a string and the user presses Escape, GET
can put the ESC surrogate, "~", in the Environment and 126 in the
ErrorLevel (instead of 0 as before). This is activated by using
the /~ switch.
GET BR is a new command to check and/or set the DOS BREAK Flag.
GET BR also gives you another method of communicating from your
CONFIG.SYS to your AUTOEXEC.BAT. You can set BREAK ON or OFF in
CONFIG.SYS according to whatever you want it to mean, and use
GET BR to check and optionally reset it in your AUTOEXEC.BAT, then
take some action according to whether it was ON or OFF.
GET 4 is a new get command to check for 4DOS or Windows. In either
case it will report 1 for "yes" and 0 for "no.
GET 4 finds out if 4DOS is the command processor.
GET 4E finds out if Windows is running.
GET I now reports the key that is waiting, and it takes the same
aruguments as GET C so you can check for extended/enhanced keys.
Consequently, GET I does not use standard input any more.
GET Z, as mentioned above, now does not look for the master
environment unless the /M switch is included. GET Z also has
enhanced string handling features.
Release 2.2:
Release 2.2 added a feature to put the string for GET Z "string"
in the true master environment, bypassing all copies of secondary
command processors. It has been tested with DOS 3.3, DOS 4.01,
DR DOS, and 4DOS, but it is a tricky business and there are no
guarantees.
Release 2.2 also adds Escape to the list of recognized string
characters for GET S, and it treats ASCII 255 as sort of an
upper-case space character.
GET Y will now take a drive argument, and returns 0 for a root
directory with GET=\.
GET 7E now returns a code for the type of CPU chip. The PC Model
function has been reassigned to GET AE.
GET.DOC has been considerably expanded, and it includes clearer
LICENSING information. A smaller runtime version is available
for a minimum registration fee.
Release 2.1b:
Release 2.1b included some additional documentation.
There were no new features in either 2.1a or 2.1b.
Release 2.1a:
Release 2.1a gives better results when using the K, L, or Q
commands on a hard disk with large partitions. Release 2.1 could
report misleading information for such disks.
****************** New features in Version 2 **********************
1. The capacity of a disk. GET Q works just like GET K.
Note that the extended command now divides the ERRORLEVEL by 100
instead of 10 as it did in the previous version. And if you need
a different divisor you can use the # notation.
2. Timeout. C, N, and S now have a timeout capability.
3. Directory existence. The F command for GET Filesize can now be used to
determine whether a named directory exists.
4. SURROGATES: The surrogate for extended keys was changed to { because
4DOS treats the "back quote" (grave accent) as a special character
in BATch files. GET now works with DR DOS and 4DOS. In previous
versions of GET, the surrogate for extended keys had to be the first
character in the argument if it was present. Now it can be any place
in the argument.
A new surrogate for extended keys on the enhanced keyboard (101
keys) has been added.
A surrogate for the space character ASCII 32 was added.
A surrogate of ASCII 253 will suppress Control-C and Ctrl_Break.
5. The I command checks to see whether a key is in the buffer.
6. The L command gets the Volume Label of the specified
disk. The LE command will compare the "string" argument with the
label and set the ERRORLEVEL to indicate whether there is a match.
7. The length of a string for the S command can be specified, and a
pattern can be given to limit the types of characters entered.
8. W will reboot the computer as if the 3-finger salute was pressed.
WE will reboot as if the computer was turned off then on again.
If any characters are present as an argument, instead of rebooting,
GET will attempt to determine whether the preceding boot was warm
or cold.
9. GET AE will return the ROM BIOS model byte.
10. VE will get/set the border color on a VGA or EGA monitor.
11. PE has a change to inactivate Print-Screen.
12. The new H command provides Date and Time information.
13. Z (Zap) accesses the real master environment.
14. The Moving Text option is back in Version 2.2.
15. The U command will stack keys in the keyboard bUffer. UE will
adjust NumLock, CapsLock, and Scroll Lock.
What new features do you need? Your comments, questions, and
suggestions are always welcome. See GET.DOC for information on how
to contact me.
/Bob Stephan/
December 1, 1991